# Copyright (C) 1992, 1993 Lucid, Inc.
# Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
#
# This file is part of the Lucid Widget Library.
#
# The Lucid Widget Library is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 1, or (at your option)
# any later version.
#
# The Lucid Widget Library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Emacs; see the file COPYING.  If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.


# This was taken from the output of Imake using Lucid's Imakefile.
# and set up to be configured by ../configure.

srcdir=@srcdir@
VPATH=@srcdir@
@SET_MAKE@
C_SWITCH_X_SITE=@C_SWITCH_X_SITE@
C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@
C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
C_WARNINGS_SWITCH = @C_WARNINGS_SWITCH@
PROFILING_CFLAGS = @PROFILING_CFLAGS@

CC=@CC@
CFLAGS=@CFLAGS@
CPPFLAGS=@CPPFLAGS@
RANLIB=@RANLIB@

AR = ar cq

LUCID_OBJS = lwlib-Xlw.o xlwmenu.o lwlib-Xaw.o
MOTIF_OBJS = lwlib-Xm.o

## LUCID_OBJS or MOTIF_OBJS.
TOOLKIT_OBJS = $(@X_TOOLKIT_TYPE@_OBJS)

OBJS = lwlib.o $(TOOLKIT_OBJS) lwlib-utils.o

## ../src is where the generated file (config.h, globals.h) are.
## $(srcdir)/../src is where the non-generated files (lisp.h) are.
## (In an out-of-tree build, these two are not the same.)
## $(srcdir) is where the lwlib sources are.
## There are no generated lwlib files, hence no need for -I.
ALL_CFLAGS= $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \
  $(C_SWITCH_X_SYSTEM) $(C_SWITCH_MACHINE) \
  $(C_WARNINGS_SWITCH) $(PROFILING_CFLAGS) $(CFLAGS) \
  -DHAVE_CONFIG_H -Demacs -I../src \
  -I$(srcdir) -I$(srcdir)/../src -I../lib -I$(srcdir)/../lib

.c.o:
	$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<

all:: liblw.a

liblw.a: $(OBJS)
	rm -f $@
	$(AR) $@ $(OBJS)
	$(RANLIB) $@

## Generated files in ../src, non-generated in $(srcdir)/../src.
config_h = ../src/config.h
lisp_h = $(srcdir)/../src/lisp.h
## lisp.h includes this.
globals_h = ../src/globals.h
src_h = $(config_h) $(lisp_h) $(globals_h)

$(globals_h):
	cd ../src && $(MAKE) $(MFLAGS) globals.h

lwlib-utils.o: $(src_h) lwlib-utils.c lwlib-utils.h lwlib.h
lwlib.o:       $(src_h) lwlib.c lwlib.h lwlib-int.h lwlib-utils.h \
  lwlib-Xlw.h lwlib-Xm.h lwlib-Xaw.h
lwlib-Xlw.o:   $(src_h) lwlib-Xlw.c lwlib.h lwlib-int.h lwlib-Xlw.h xlwmenu.h
lwlib-Xaw.o:   $(src_h) lwlib-Xaw.c lwlib-Xaw.h lwlib.h lwlib-int.h
lwlib-Xm.o:    $(src_h) lwlib-Xm.c lwlib-Xm.h lwlib.h lwlib-int.h lwlib-utils.h
xlwmenu.o:     $(src_h) xlwmenu.c xlwmenu.h lwlib.h xlwmenuP.h \
  $(srcdir)/../src/xterm.h

mostlyclean:
	rm -f *.o liblw.a \#*

clean: mostlyclean
distclean: clean
	rm -f Makefile
maintainer-clean: distclean
	rm -f TAGS

TAGS:
	../lib-src/etags $(srcdir)/*.[ch]
tags: TAGS
.PHONY: tags
